home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / pc / DirectX SDK / DXSDK / samples / Multimedia / DirectPlay / Maze / MazeConsoleClient / ConsoleGraphics.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-10-31  |  2.4 KB  |  82 lines

  1. //----------------------------------------------------------------------------
  2. // File: consolegraphics.h
  3. //
  4. // Desc: see main.cpp
  5. //
  6. // Copyright (c) 1999-2001 Microsoft Corp. All rights reserved.
  7. //-----------------------------------------------------------------------------
  8. #ifndef _CONSOLE_GRAPHICS_H
  9. #define _CONSOLE_GRAPHICS_H
  10.  
  11.  
  12. #define MAX_CMD_LINES 100
  13. #define MAX_LOG_LINES 100
  14. class CMazeApp;
  15.  
  16.  
  17. //-----------------------------------------------------------------------------
  18. // Name: 
  19. // Desc: 
  20. //-----------------------------------------------------------------------------
  21. class CConsoleGraphics : public IMazeGraphics
  22. {
  23. public:
  24.     CConsoleGraphics();
  25.     ~CConsoleGraphics();
  26.  
  27.     // From IMazeGraphics
  28.     virtual VOID        Init( CMazeApp* pMazeApp, CDPlay8Client* pDP8Client, CMazeClient* pMazeClient ); 
  29.     virtual HRESULT     Create( HINSTANCE hInstance );
  30.     virtual INT         Run();
  31.     virtual VOID        HandleOutputMsg( EnumLineType enumLineType, TCHAR* strLine );
  32.     virtual BOOL        IsPreview() { return FALSE; };
  33.     virtual void        Shutdown();
  34.  
  35.     CMazeApp*           m_pMazeApp;
  36.     CDPlay8Client*      m_pDP8Client;
  37.     CMazeClient*        m_pMazeClient;
  38.  
  39. protected:
  40.     static BOOL WINAPI  CtrlHandler( DWORD type );
  41.     WCHAR** ConvertCommandLineToArgvW( WCHAR* strCommandLine, int* argc );
  42.     void ParseInput( TCHAR* pBuffer );
  43.     VOID SetupConsole( DWORD dwWindowSizeY );
  44.     VOID RestoreOldConsoleSettings();
  45.     VOID WriteLine( DWORD nCoordY, TCHAR* strBuffer );
  46.     void DoPrompt( TCHAR* strPromptString, TCHAR* strBuffer );
  47.     void PrintHelp();
  48.     void ClearScreen();
  49.     BOOL TryToConnect();
  50.     void RunSetupWizard();
  51.     BOOL ParseCommandLine();
  52.  
  53.     CONSOLE_SCREEN_BUFFER_INFO m_SavedConsoleInfo;
  54.     
  55.     MazeConfig*          m_pConfig;
  56.     
  57.     BOOL   m_bQuitThread;
  58.     DWORD  m_dwNextOutput;
  59.     HANDLE m_hStdOut;
  60.     DWORD  m_dwNumCmdLines;
  61.     DWORD  m_dwSeperatorLine;
  62.     DWORD  m_dwNumLogLines;
  63.     DWORD  m_dwWindowSizeY;
  64.     BOOL   m_bLocalLoopback;
  65.  
  66.     static UINT WINAPI StaticPromptThread( LPVOID pParam );
  67.     UINT WINAPI PromptThread( LPVOID pParam );
  68.  
  69.     HANDLE m_hPromptThread;
  70.  
  71.     TCHAR m_szLogBuffer[MAX_LOG_LINES][256];
  72.     TCHAR m_szCmdBuffer[MAX_CMD_LINES][256];
  73.     DWORD m_dwLogBufferNext;
  74.     DWORD m_dwCmdBufferNext;
  75.     DWORD m_dwLastPrompt;
  76.     int   m_dwCaretPos;
  77.     DWORD m_dwNumProcessed;
  78. };
  79.  
  80.  
  81. #endif
  82.